package com.pur.zsms.dao;

import java.util.List;

import com.pur.zsms.common.exception.GenericException;
import com.pur.zsms.common.support.PageController;
import com.pur.zsms.common.support.PaginationSupport;
import com.pur.zsms.documentsmanage.po.DomPo;
import com.pur.zsms.matermanage.mater.vo.MaterVo;
import com.pur.zsms.matermanage.mater.vo.MaterVoForSup;
import com.pur.zsms.matermanage.mater.vo.OrderDistributorMaterRealVo;
import com.pur.zsms.ordercustommanage.po.OrderCustPo;
import com.pur.zsms.ordercustommanage.po.OrderDistributorMaterRealPo;
import com.pur.zsms.ordercustommanage.po.OrderDistributorPo;
import com.pur.zsms.ordercustommanage.vo.OrderDistributorVo;
import com.pur.zsms.ordercustommanage.vo.OrderSupplierVo;

public interface IDistributorDao {

	public PaginationSupport listMaterForDistributor(PageController pageController, MaterVo materVo) throws GenericException;

	public List<Object[]> getOrderSupplierMaterForDistributor(int materId, int materLevel, String date, int supId) throws GenericException;

	public void addOrderDistributorPo(OrderDistributorPo c) throws GenericException;

	public void addOrderDistributorMaterRealPo(OrderDistributorMaterRealPo c) throws GenericException;

	public void updateOrderDistributorMaterRealPo(OrderDistributorMaterRealPo c) throws GenericException;

	public void updateOrderDistributorPo(OrderDistributorPo c) throws GenericException;

	public void deleteOrderMaterForDistributor(OrderDistributorMaterRealPo c) throws GenericException;

	public void deleteOrderForDistributor(OrderDistributorMaterRealVo c) throws GenericException;

	public PaginationSupport listDistributorOrder(PageController pageController, OrderDistributorMaterRealVo orderDistributorMaterRealVo)
			throws GenericException;

	public List<OrderDistributorPo> getOrderDistributorPo(OrderDistributorVo orderDistributorVo) throws GenericException;

	public List<OrderDistributorMaterRealPo> getOrderDistributorMaterRealPo2(OrderDistributorMaterRealVo tOrderDistributorMaterRealVo)
			throws GenericException;

	public List<OrderDistributorMaterRealPo> getOrderDistributorMaterRealPoForLastMaterValue(OrderDistributorMaterRealVo tOrderDistributorMaterRealVo)
			throws GenericException;

	public List<OrderDistributorMaterRealPo> getOrderDistributorMaterRealPo(OrderDistributorMaterRealPo orderDistributorMaterRealPo)
			throws GenericException;

	public PaginationSupport findDistributorDetailOrder(PageController pageController, OrderDistributorMaterRealVo orderDistributorMaterRealVo)
			throws GenericException;

	public PaginationSupport findDistributorDetailOrderForSup(PageController pageController, OrderDistributorMaterRealVo orderDistributorMaterRealVo)
			throws GenericException;

	public List<Object> getOrderDistributorMaterValueAll(int ordId) throws GenericException;
}
